// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

const db = cloud.database();

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext();
  const {avatar, nickName} = event;

  try {
    const {data} = await db.collection('user').where({nickName}).get();

    if (data.length) {
      const item = data[0];
      // 传了新头像用新头像
      if (avatar && avatar !== item.avatar) {
        await db.collection('user').doc(item._id).update({
          data: {avatar}
        });
        return {data: {...item, avatar}}
      }
      // 没传头像或者头像和之前一样就用之前的头像
      return {data: data[0]}
    } else {
      // 没有这个用户就添加这个用户
      const {_id} = await db.collection('user').add({
        data: {avatar, nickName}
      });
      const user = await db.collection('user').doc(_id);
      return {data: user}
    }
  } catch (err) {
      console.log('login err: ', err);
  }
}